home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / xobbs.arc / xobbs.h < prev    next >
C/C++ Source or Header  |  1989-05-06  |  4KB  |  132 lines

  1. #include <stdio.h>
  2. #include <fcntl.h>
  3. #include <ctype.h>
  4. #include <time.h>
  5. #include <setjmp.h>
  6. #include <signal.h>
  7. #include <sys/types.h>
  8. #include <sys/dir.h>
  9. #include <sys/ipc.h>
  10. #include <sys/msg.h>
  11.  
  12. #ifdef hpux
  13. #define locking lockf
  14. #endif
  15.  
  16. #define true 1
  17. #define false 0
  18. #define FWDTMP "/tmp/fwdtmp"
  19.  
  20. #ifdef MAIN
  21. #define EXTERN
  22. #else
  23. #define EXTERN extern
  24. #endif
  25.  
  26. #define DEVICE1 "ax0"                   /* NET devices (tnc's, etc) */
  27. #define DEVICE2 "ax1"
  28. #define DEVICE3 "ax2"
  29. #define DEVICE4 "ax3"
  30. #define DEVICE5 "ax4"
  31.  
  32. /* #define HOMEDIR "/usr/xobbs/"    /*Home directory for bbs*/
  33. EXTERN char homedir[30];        /*  change for your system */
  34.  
  35. EXTERN jmp_buf  mark;            /*buffer for setjmp*/
  36. EXTERN char    fwddist[30];        /*forwarding distribution file name*/
  37. EXTERN char    fwddir[30];        /*forwarding directory*/
  38. EXTERN char    maildir[30];             /*mail directory path*/
  39. EXTERN char    filedir[30];             /*file directory path*/
  40. EXTERN char    tempdir[30];             /*temp mail directory*/
  41. EXTERN char    usenetfil[30];        /*usenet distribution file*/
  42. EXTERN char    paramfil[30];            /*bbs database parameter file*/
  43. EXTERN char    fwdfile[30];             /*bbs forwarding file */ 
  44. EXTERN char    motdfil[30];             /*message of the day file*/
  45. EXTERN char    maildae[30];             /*mail daemon path*/
  46. EXTERN char    userfil[30];        /*user file path*/
  47. EXTERN char    hdrfile[30];        /*mail header file*/
  48. EXTERN char    logfile[30];        /*bbs log file*/
  49. EXTERN char    inline[1024];            /*input line*/
  50. EXTERN char    prinbuf[1024];        /*print output buffer*/
  51. EXTERN int     fwding;            /*boolean meaning "doing forwarding*/
  52. EXTERN int     outfd;            /*output file discriptor*/
  53. EXTERN int     infd;            /*input file discriptor*/
  54. EXTERN int     dpid;            /*daemon pid*/
  55. EXTERN int     local;            /*local/remote flag*/
  56. EXTERN int     revfwd;            /*do reverse forward flag*/
  57. EXTERN int     quitflag;        /*do a quit and dont reset alarm*/
  58. EXTERN int     alrmtim;                 /* "time to live" of the bbs */
  59. EXTERN int     smsgqid;                 /* send message que identifier*/
  60. EXTERN int     rmsgqid;                 /* receive message que identifier*/
  61. EXTERN int     rcmsgqid;        /* control message que ids */
  62. EXTERN int     scmsgqid;
  63. EXTERN int     pid;            /* pid of this bbs process*/
  64.  
  65.  
  66.        
  67. struct msghdr{                  /* template for message header */
  68.         int siz;        /* message size*/
  69.         char tocall[7];        /* 'to' call */
  70.         char fromcall[7];    /* 'from' call */
  71.         char atbbs[7];        /* ' @ bbs field */
  72.         char stat;        /* message status (Y/N/F) */
  73.         char type;        /* message type (B/P etc) */
  74.         char dat[7];        /* date filed */
  75.         char tim[5];        /* time filed */
  76.         char title[67];        /* subject of message */
  77.         char bid[13];           /* bid of message */
  78.         };
  79.  
  80. struct  stninfo{            /*info about a station*/
  81.         char    call[7];
  82.         char    name[15];
  83.         char    qth[25];
  84.         char    typ;
  85.     int    highest;
  86.         } ;
  87.  
  88. struct  cmd{                                    /*structure of a parsed*/
  89.         char func;      /*function requested*/  /* command line and args*/
  90.         char opt;       /*option requested*/
  91.         char fld[10][30];   /*fields follow*/
  92.         };
  93.  
  94.     struct userrecord{                /*user record in xouserfile*/
  95.         char call[8];
  96.         char type;
  97.         int  highest;
  98.         char name[20];
  99.         char dat[8];
  100.     };
  101.  
  102.     struct message{            /*message buffer*/
  103.         long mtype;
  104.         char mtext[256]
  105.     } msg;
  106.     
  107. #ifdef MAIN
  108. struct stninfo my;
  109. struct stninfo user;
  110.  
  111. struct cmd command;
  112. struct tm *newtime;
  113.                 
  114. #else
  115. extern struct stninfo my,user;
  116. extern struct cmd command;
  117. extern struct tm *newtime;
  118.  
  119. #endif
  120.         
  121. EXTERN int msgcnt;        /*count of messages active*/
  122. EXTERN int highnum;        /*highest message number*/
  123.  
  124. char *upcase();
  125. char *lowcase();
  126. char    xogetc();
  127. int     kil_spwn();
  128.  
  129. #define FLUSH 1            /*flags to prinout routine*/
  130. #define NOFLUSH 0
  131.  
  132.